package com.demo2do.boyle.client.service;

import java.util.List;

import com.demo2do.boyle.common.entity.customer.Customer;
import com.demo2do.boyle.common.entity.customer.social.SocialAccount;
import com.demo2do.boyle.common.entity.customer.social.SocialType;
import com.demo2do.core.service.GenericService;

/**
 * 
 * @author Jason.Y
 */
public interface SocialAccountService extends GenericService<SocialAccount> {

    /**
     * list social accounts of customer
     * 
     * @param customer
     * @return
     */
    public List<SocialAccount> list(Customer customer);
    
    /**
     * List customer exit socialAccount type
     * 
     * @param customer
     * @return
     */
    public List<SocialType> listSocialType(Customer customer);
    
    /**
     * List customer exit socialAccount type
     * 
     * @param customer
     * @return
     */
    public List<SocialAccount> querySocialAccountByCustomerId(Customer customer);
    
    /**
     * List social account by customer id and  socialAccount type
     * 
     * @param customer
     * @return
     */
	public SocialAccount querySocialAccount(Customer customer, SocialType socialType);

}
